package com.wuyou.sso.common.component;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.ComponentScan;

/**
 * @author lishangbu
 * @date 2018/11/10
 */
@ComponentScan("com.wuyou.common")
public class CustomizedResourceServerAutoConfiguration implements ApplicationContextAware {

    private ApplicationContext applicationContext;

//    @Bean
//    @Primary
//    @LoadBalanced
//    public RestTemplate lbRestTemplate() {
//        // 获取上下文配置的ClientHttpRequestInterceptor 实现
//        Map<String, ClientHttpRequestInterceptor> beansOfType =
//                applicationContext.getBeansOfType(ClientHttpRequestInterceptor.class);
//        RestTemplate restTemplate = new RestTemplate();
//        restTemplate.setInterceptors(new ArrayList<>(beansOfType.values()));
//        restTemplate.setErrorHandler(new RestResponseErrorHandler());
//        return restTemplate;
//    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }
}
